//
//  ZSTagButtonView.h
//  Fangxiaov
//
//  Created by safiri on 2017/3/3.
//  Copyright © 2017年 com.f. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "ZSTagButton.h"


/**
 自动换行排列tagButton的view
 */
@interface ZSTagButtonView : UIView

/**
 内容显示边距
 */
@property (nonatomic ,assign) UIEdgeInsets padding;

/**
 行数
 */
@property (nonatomic ,assign) NSInteger lines;

/**
 行距
 */
@property (nonatomic ,assign) CGFloat lineSpacing;

/**
 tagButton 之间的间距
 */
@property (nonatomic ,assign) CGFloat itemSpacing;

/**
 最大展示宽度
 */
@property (nonatomic ,assign) CGFloat preferredMaxLayoutWidth;

/**
 是否为单行，默认NO
 */
@property (nonatomic ,assign) BOOL singleLine;

/**
 点击了某一个TagButton后的回调
 */
@property (nonatomic ,copy ,nullable) void (^didTapTagAtIndex)(NSUInteger index);

/**
 自动计算出行数后的回调
 */
@property (nonatomic ,copy ,nullable) void (^commitLines)(NSInteger lines);

/**
 在最后添加一个TagButton

 @param tag ButtonTag
 */
- (void)addTag:(nonnull ZSButtonTag *)tag;

/**
 在最后添加多个TagButton

 @param tagTitleArray ButtonTag的标题
 @param sameTag ButtonTag
 */
- (void)addTagTitles:(nonnull NSArray *)tagTitleArray withSameTag:(nonnull ZSButtonTag *)sameTag;

/**
 在指定位置插入一个TagButton

 @param tag ButtonTag
 @param index 指定位置
 */
- (void)insertTag:(nonnull ZSButtonTag *)tag atIndex:(NSUInteger)index;

/**
 移除指定的TagButton

 @param tag 指定的ButtonTag
 */
- (void)removeTag:(nonnull ZSButtonTag *)tag;

/**
 移除指定的TagButton

 @param index 指定的index位置
 */
- (void)removeTagAtIndex:(NSUInteger)index;

/**
 移除所有的tag
 */
- (void)removeAllTags;

@end
